Today, communication data (“voice packet”) can reach a number of users over a number of interconnected networks. For example, during a conferencing or multicast session, a source can send a voice packet that is multicasted to multiple recipients or users over the Internet (“voice multicasting”). Typically, a router receives the voice packet from a network and determines how to forward the packet to desired users. In prior art routers, voice multicasting is performed in software by duplicating and storing the duplicated packet for each user. The stored packets are then forwarded to the users.
FIG. 1 illustrates a prior art router 102 to perform voice multicasting in software for a plurality of user devices 120-1 through 120-N. Referring to FIG. 1, prior art router 102 includes a host central processing unit (CPU) 106 communicating with a line card 110 via operating system 108. Host CPU 106 and operating system 108 can receive a voice packet 104 for voice multicasting. Line card 110 includes a plurality of ports 112-1 through 112-N coupled to respective user devices 120-1 through 120-N, which are illustrated as phone devices.
To perform voice multicasting of voice packet 104, e.g., to user devices 120-1 through 120-N, operating system 108 duplicates voice packet 104 for each of the user devices 120-1 through 120-N and stores the duplicated packets in a memory (not shown). Operating system 108 then sends a duplicated voice packet 104 one at a time to line card 110 so that line card 110 can output the packets on ports 112-1 through 112-N. The outputted packets are then delivered to user devices 120-1 through 120-N.
A disadvantage of performing voice multicasting using the prior software method is that a single packet must be duplicated for each user device in the multicast session, which requires extensive host CPU resources. That is, as shown in FIG. 1, host CPU 106 may need to duplicate voice packet 104 up to N times for a multicast session. Another disadvantage of performing voice multicasting using the prior software method is that it requires extensive memory utilization to store the duplicated packets, which adversely affects other time sensitive software programs that may require host CPU processing time. As such, performing voice multicasting using the prior software method can reduce system performance.